<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Yy</title>
</head>

<body>
    <script>
        // 熟练使用回调函数、promise、async函数解决异步编程的问题。
        // 回调函数
        function getData(fn) {
            setTimeout(() => {
                // reture只能返回同步的数据
                fn(target)
            }, 500)
        }
        //promise版本的getData
        function getData() {
            return new Promise((resolve) => {
                setTimeout(() => {
                    resolve(target);
                }, 1000)
            })
        }
        //async函数解决异步问题。
        async function fun() {
            let data1 = await getData();
            console.log(data1);
            let data2 = await getData();
            console.log(data2);
            let data3 = await getData();
            console.log(data3);
        }
        fun();
    </script>
</body>

</html>